The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
In conventional computer systems, a database query is used to retrieve records from a database. In some embodiments, the database query may be used in a system of record for retrieving the records simply for reading and/or writing purposes. In other embodiments, the database query may be used in an analytical system for retrieving the records and performing an analysis on the records. Unfortunately, traditional techniques utilized for performing database queries generally exhibit various limitations, particularly where governance of resource utilization is desired for maintaining performance quality of the computer system.
Just by way of example, in computer systems where resource utilization is governed, database queries are typically governed according to predefined limits on the number of results returned from the database queries (e.g. over a given period of time, etc.). Unfortunately, this type of governance may only be beneficial where the number of returned results is reflective of the number of records processed as a result of the database query. For example, governing resource usage based on thresholds for a number of returned results oftentimes allows database queries to proceed where such database queries include aggregate functions processing a large number of records, but returning only a small number of the processed records as a result of the aggregation.
Accordingly, it is desirable to provide techniques enabling database queries including aggregate functions to be conditionally performed based on a number of records processed by such aggregate function, to maintain performance quality of the computer system.